home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / catD / canput.z / canput
Encoding:
Text File  |  1998-10-30  |  3.2 KB  |  66 lines

  1.  
  2.  
  3.  
  4. ccccaaaannnnppppuuuutttt((((DDDD3333))))                                                          ccccaaaannnnppppuuuutttt((((DDDD3333))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      _cccc_aaaa_nnnn_pppp_uuuu_tttt - test for room in a message queue
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_ssss_tttt_rrrr_eeee_aaaa_mmmm_...._hhhh_>>>>
  13.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_dddd_dddd_iiii_...._hhhh_>>>>
  14.      _iiii_nnnn_tttt _cccc_aaaa_nnnn_pppp_uuuu_tttt_((((_qqqq_uuuu_eeee_uuuu_eeee______tttt _****_q_))))_;;;;
  15.  
  16.    AAAArrrrgggguuuummmmeeeennnnttttssss
  17.      _q         Pointer to the message queue.
  18.  
  19. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  20.      _cccc_aaaa_nnnn_pppp_uuuu_tttt tests if there is room for a message in the queue pointed to by _q.
  21.      The queue must have a service procedure.
  22.  
  23.    RRRReeeettttuuuurrrrnnnn VVVVaaaalllluuuueeeessss
  24.      _cccc_aaaa_nnnn_pppp_uuuu_tttt returns 1 if a message can be placed on the queue.  0 is returned
  25.      if a message cannot be enqueued because of flow control.
  26.  
  27. UUUUSSSSAAAAGGGGEEEE
  28.      The driver is responsible for both testing a queue with _cccc_aaaa_nnnn_pppp_uuuu_tttt and
  29.      refraining from placing a message on the queue if _cccc_aaaa_nnnn_pppp_uuuu_tttt fails.
  30.  
  31.      It is possible because of race conditions to test for room using _cccc_aaaa_nnnn_pppp_uuuu_tttt
  32.      and get an indication that there is room for a message, and then have the
  33.      queue fill up before subsequently enqueuing the message, causing a
  34.      violation of flow control.  This is not a problem, since the violation of
  35.      flow control in this case is bounded.
  36.  
  37.    LLLLeeeevvvveeeellll
  38.      Base or Interrupt.
  39.  
  40.    SSSSyyyynnnncccchhhhrrrroooonnnniiiizzzzaaaattttiiiioooonnnn CCCCoooonnnnssssttttrrrraaaaiiiinnnnttttssss
  41.      Does not sleep.
  42.  
  43.      Driver-defined basic locks, read/write locks, and sleep locks may be held
  44.      across calls to this function.
  45.  
  46.    EEEExxxxaaaammmmpppplllleeeessss
  47.      See _bbbb_uuuu_ffff_cccc_aaaa_llll_llll(D3) for an example of _cccc_aaaa_nnnn_pppp_uuuu_tttt.
  48.  
  49. RRRREEEEFFFFEEEERRRREEEENNNNCCCCEEEESSSS
  50.      _bbbb_cccc_aaaa_nnnn_pppp_uuuu_tttt(D3), _pppp_uuuu_tttt_bbbb_qqqq(D3), _pppp_uuuu_tttt_nnnn_eeee_xxxx_tttt(D3)
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.                                                                         PPPPaaaaggggeeee 1111
  62.  
  63.  
  64.  
  65.